package proxies.events
{

	public interface IProxyEventsDispatcher
	{
		/**
		 * Register to a specific proxy event
		 * 
		 * @param eventType Type of event to listen
		 * @param callbackFunction Function to call if an event is dispatched
		 * 
		 * @see IProxyEvent
		 */			
		function addEventListener(eventType:String, callbackFunction:Function):void;
		/**
		 * Remove from listener list
		 * 
		 * @param eventType Type of event used for registering
		 * @param callbackFunction Function to call used for registering
		 */			
		function removeEventListener(eventType:String, callbackFunction:Function):void;
		/**
		 * Dispatch an event
		 * 
		 * @param result Function to call if query return a correct result
		 * @param fault Function to call if query throw an error
		 */			
		function dispatchEvent(event:ProxyEvent):void;
	}
}